/**
 * 文件上传混入
 */
import Thumb from '@/components/Common/FormItem/FileUpload/thumb'
export default {
  data () {
    return {
      // 文件新增动作
      addActions: [
        { name: 'folder', title: '新建文件夹', icon: 'FolderAddFilled' },
        { name: 'file', title: '上传文件', icon: 'FileAddFilled' },
        { name: 'files', title: '上传文件夹', icon: 'FolderOpenFilled' }
      ],
      // 是否支持文件夹上传
      directoryUpload: false,
      // 待上传的文件列表，每次刷新页面时清空就行
      uploadFileList: []
    }
  },
  computed: {
    // 上传headers信息
    headers () {
      return { 'Access-Token': this.$store.getters.token }
    },
    // 文件上传地址
    uploadAction () {
      return this.$utils.formatStr(this.$api.system.file.UPLOAD_FOLDER_URL, this.parentFolder || -1)
    }
  },
  methods: {
    // 响应文件上传改变
    handleUploadChange ({ file }) {
      if (file.status === 'uploading') {
        console.log(file)
        file.key = file.uid
        file.icon = Thumb.default
      } else if (file.status === 'done') {
        // 上传成功后写入相关信息
        if (file.response && file.response.data.success) {
          file.key = file.response.data.key
          file.url = file.response.data.url
          file.fileType = file.response.data.type
          file.suffix = file.response.data.suffix
          file.icon = Thumb[file.suffix]
        }
        // 重置加载
        this.resetPageParams()
        this.loadSysFileList()
      } else if (file.status === 'error') {
        file.key = file.uid
        file.icon = Thumb.default
        this.$message.error(`文件上传失败，原因:【${file.response.errorMsg}】`)
      }
    }
  }
}
